require 'thor'
require 'yaml'
require 'securerandom'
require 'tty-prompt'
require 'tty-table'
require 'tty-spinner'
require 'sshkey'

REDIPRESS_CLI=true

require 'redipress'
require 'redipress/cli/helper'
require 'redipress/cli/configurations'

module RediPress
  module CLI
    class Main < Thor
      # Whether or not to use verbose logging
      class_option :verbose, type: :boolean

      # Add the configurations subcommand
      desc "configurations SUBCOMMAND ...ARGS", "Tools for working with configurations"
      subcommand "configurations", RediPress::CLI::Configurations

      # Set the default task to configurations
      default_task :configurations

      # Define taskless functionality
      no_tasks do
        # Include the helper functionality
        include RediPress::CLI::Helper
      end
    end
  end
end
